# <a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/codeengineering.html" target="_blank">Software Models</a> Программные модели

<ul>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/development_ide.html'>Integrated Development</a></li>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/code_generation_from_behaviora.html'>Behavioral Models</a></li>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/win_32_ui_technology.html'>Win32 UI Technology</a></li>
					<li class="noplus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/gof_patterns.html'>GoF Patterns</a></li>
					<li class="noplus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/iconix_process.html'>ICONIX</a></li>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/codeengineeringsettings.html'>Configuration Settings</a></li>
					<li class="noplus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/developing_programming_languag.html'>Developing Programming Languages</a></li>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/codetemplates_2.html'>Code Template Framework</a></li>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/grammar_editor_for_imported_co.html'>Grammar Framework</a></li>
					<li class="plus"><a href='https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/codeminer.html'>Code Miner Framework</a></li></ul>

![](_src/ea-software-engineering2.png)


Software engineering is the discipline of designing, implementing and maintaining software. The process of software engineering starts with requirements and constraints as inputs, and results in programming code and schemas that are deployed to a variety of platforms, creating running systems.

Программная инженерия - это дисциплина проектирования, внедрения и сопровождения программного обеспечения. Процесс разработки программного обеспечения начинается с требований и ограничений в качестве входных данных и приводит к программному коду и схемам, которые развертываются на различных платформах, создавая работающие системы.

Enterprise Architect has a rich set of tools and features that assist Software Engineers to perform their work efficiently and reduce the number of errors in implemented solutions. The features include design tools to create models of software, automated code generation, reverse engineering of source code, binaries and schemas, and tools to synchronize source code with the design models. The programming code can be viewed and edited directly in the integrated Code Editors within Enterprise Architect, which provide Intelli-sense and other features to aid in coding.

Enterprise Architect обладает богатым набором инструментов и функций, которые помогают разработчикам программного обеспечения эффективно выполнять свою работу и сокращать количество ошибок в реализованных решениях. Эти функции включают инструменты проектирования для создания моделей программного обеспечения, автоматическую генерацию кода, обратное проектирование исходного кода, двоичных файлов и схем, а также инструменты для синхронизации исходного кода с моделями проекта. Программный код можно просматривать и редактировать непосредственно во встроенных редакторах кода в Enterprise Architect, которые предоставляют Intelli-sense и другие функции для помощи в кодировании.

Another compelling aspect of the environment is the ability to trace the implementation Classes back to design elements and architecture, and then back to the requirements and constraints and other specifications, and ultimately back to stakeholders and their goals and visions.

Еще одним важным аспектом среды является возможность проследить классы реализации до элементов дизайна и архитектуры, а затем обратно к требованиям, ограничениям и другим спецификациям и, в конечном итоге, вернуться к заинтересованным сторонам, их целям и видениям.

Enterprise Architect supports a wide range of programming languages and platforms and provides a lightweight and seamless integration with the two most prevalent Integrated Development Environments: Visual Studio and Eclipse. In addition there is a fully featured Execution Analyzer that allows the Software Engineer to design, build debug and test software modules right inside Enterprise Architect.

Enterprise Architect поддерживает широкий спектр языков программирования и платформ и обеспечивает легкую и бесшовную интеграцию с двумя наиболее распространенными интегрированными средами разработки: Visual Studio и Eclipse. Кроме того, имеется полнофункциональный анализатор выполнения, который позволяет инженеру-программисту проектировать, создавать отладочные и тестировать программные модули прямо внутри Enterprise Architect.

Software Engineering

This collection of images illustrates some of the Software Engineering tools available to you in Enterprise Architect

Программная инженерия

Эта коллекция изображений иллюстрирует некоторые инструменты разработки программного обеспечения, доступные вам в Enterprise Architect.

![](_src/1.png)

![](_src/2.png)

![](_src/3.png)

![](_src/4.png)

![](_src/5.png)

![](_src/6.png)

![](_src/7.png)

Facilities 

| Facility                                 | Description                              |
|------------------------------------------|------------------------------------------|
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;">Development Tools</span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/development_ide.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0036.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);">Discover the tightly Integrated Development Environment with outstanding tools and functionality.</span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;">Code, Build and Debug</span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/visual_execution_analysis/software_development.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0037.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);">Model, develop, debug, profile and manage an application from within the modeling environment.</span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;">Visual Analysis of Executing Code</span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/visual_execution_analysis/buildandrun.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0039.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);">Understand your code base by visually analyzing running code. Use Test Points, profiling and automated diagram generation.</span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;">Generate Source Code</span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/generatesourcecode.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0074.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);">Explore some of the ways to generate source code for a single Class, a selection of Classes, or a whole Package. Generate from structural or behavioral models.</span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;">Importing Source Code</span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/reverseengineersourcecode.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0046.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);">Examine existing systems by importing source code into Enterprise Architect. View and modify dialog definitions. Synchronize the model with the latest updates to source code.</span></p> |

оборудование

| объект                                   | Описание                                 |
|------------------------------------------|------------------------------------------|
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Инструменты разработки</font></font></span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/development_ide.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0036.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Откройте для себя тесно интегрированную среду разработки с выдающимися инструментами и функциями.</font></font></span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Код, сборка и отладка</font></font></span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/visual_execution_analysis/software_development.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0037.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Моделируйте, разрабатывайте, отлаживайте, профилируйте приложение и управляйте им из среды моделирования.</font></font></span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Визуальный анализ исполняемого кода</font></font></span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/visual_execution_analysis/buildandrun.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0039.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Изучите свою кодовую базу, визуально проанализировав работающий код.<span> </span></font><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Используйте контрольные точки, профилирование и автоматическое создание диаграмм.</font></font></span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Сгенерировать исходный код</font></font></span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/generatesourcecode.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0074.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Изучите некоторые способы создания исходного кода для отдельного класса, набора классов или всего пакета.<span> </span></font><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Создавайте из структурных или поведенческих моделей.</font></font></span></p> |
| <p class="p_Tableheader" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_Tabletext" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Импорт исходного кода</font></font></span></p><a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/reverseengineersourcecode.html" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-decoration: none; color: rgb(0, 102, 221); outline: none; line-height: normal; margin: 0px; padding: 10px 0px;">![](https://sparxsystems.com/enterprise_architect_user_guide/15.1/images/clip0046.png)</a> | <p style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; text-align: left; text-indent: 0px; padding: 14px 0px; margin: 5px; line-height: 19px;"><span class="f_BodyTextTable" style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; color: rgb(51, 51, 51);"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;"><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Изучите существующие системы, импортировав исходный код в Enterprise Architect.<span> </span></font><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Просмотр и изменение определений диалогов.<span> </span></font><font style="box-sizing: border-box; font-family: &quot;Pragmata Pro Mono Regular&quot;; vertical-align: inherit;">Синхронизируйте модель с последними обновлениями исходного кода.</font></font></span></p> |

Learn more

* You can also perform code engineering using the combined facilities of Enterprise Architect, Eclipse and/or Visual Studio, bridging between the systems with Sparx System's <a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/mdglinkandcodeengineering.html" target="_blank">MDG Integration products; see MDG Integration and Code Engineering</a>
* Facilities for <a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/database_engineering.html" target="_blank">Database Engineering</a> are also available, including modeling keys, triggers, constraints and other relational database features, for and from a range of database products
* Enterprise Architect provides technologies to support Service Oriented Architecture; see <a href="https://sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/xsd_engineering.html" target="_blank">SOA and XML Engineering</a>

Выучить больше

* Вы также можете выполнять разработку кода, используя комбинированные средства Enterprise Architect, Eclipse и / или Visual Studio, соединяя системы с помощью продуктов Sparx System MDG Integration; см. Интеграция ЦРТ и разработка кода
* Также доступны средства проектирования баз данных , включая ключи моделирования, триггеры, ограничения и другие функции реляционных баз данных, для ряда продуктов баз данных и из них.
* Enterprise Architect предоставляет технологии для поддержки сервис-ориентированной архитектуры; см. SOA и XML Engineering

